/*
-----------------------------------------------------------------------------
This source file is part of SapphireEngine

SapphireEngine is a Framework for Turn Based Strategy games.
For more information see http://code.google.com/p/sapphire-engine/

This program is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place - Suite 330, Boston, MA 02111-1307, USA, or go to
http://www.gnu.org/copyleft/lesser.txt.

-----------------------------------------------------------------------------
*/
#ifndef _LOADING_SCREEN_THREAD_H
#define _LOADING_SCREEN_THREAD_H

#include "thread.h"
#include "SapphirePrerequisites.h"

#include "GUI/GUIManager.h"
#include "SapphireMemoryManager.h"

namespace SapphireEngine
{
	namespace GUI
	{
		class LoadingScreenThread : public Win32Thread
		{
		public:
			void run()
			{
				Screen *screen = getGUIManager()->getScreen("Intro");
				
				getMemoryManager()->addPointer(new Core::CoreManager(),"Core Manager");
				Screen *newScreen = new MainMenuScreen("MainScreen.layout");
				getMemoryManager()->addPointer(newScreen,"Main Menu");
				getGUIManager()->addScreen("MainMenu",newScreen);
 				static_cast<LoadingScreen *>(screen)->setDoneLoading();
// 				getGUIManager()->setScreen("MainMenu");     
				//Screen *newScreen = new GameScreen("InGameScreen.layout");
			}
		};
	}
}

#endif